package com.dyj.common.domain.vo;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class AccessTikTokTokenVo extends BaseVo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 授权用户唯一标识
     */
    @JSONField(name = "open_id")
    private String openId;

    /**
     * 用户授权的作用域(Scope)，使用逗号（,）分隔，开放平台几乎每个接口都需要特定的Scope。
     */
    private String scope;

    /**
     * 接口调用凭证
     */
    @JSONField(name = "access_token")
    private String accessToken;

    /**
     * access_token接口调用凭证超时时间，单位（秒)
     */
    @JSONField(name = "expires_in")
    private Long expiresIn;

    /**
     * 日志ID
     */
    @JSONField(name = "log_id")
    private String logId;

    /**
     * 用户刷新access_token
     */
    @JSONField(name = "refresh_token")
    private String refreshToken;

    /**
     * refresh_token凭证超时时间，单位（秒)
     */
    @JSONField(name = "refresh_expires_in")
    private Long refreshExpiresIn;

    /**
     * token类型
     */
    @JSONField(name = "token_type")
    private String tokenType;

}
